//
//  ViewController.m
//  02 - UIViewController
//
//  Created by 韩旭 on 16/7/15.
//  Copyright © 2016年 基础. All rights reserved.
//

#import "ViewController.h"
#import "PresentViewController.h"
@interface ViewController ()
@property (nonatomic, retain) UIView *subView;

@end

@implementation ViewController
// loadView 加载UIViewController 中的view
// UINavigation UITableViewController 在loadView中 给重写赋值了

//指派初始化方法
- (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
//        不要在这个方法中加载视图
//        在这个方法中去初始化一些数据相关的内容
    }
    return self;
}
- (void)loadView {
    [super loadView];
    NSLog(@"loadView");
//    改变self.view
    
}
//view 已经 加载
// 所有自定义视图的创建
- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor cyanColor];
    UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
    btn.frame = CGRectMake(0, 0, 50, 50);
    [self.view addSubview:btn];
//    NSLog(@"ViewDid%@", self.view);
}
//模态
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event {
    
//    模态, 一个视图控制器
    PresentViewController *present = [[PresentViewController alloc] init];
    
//    模态动画效果
    present.modalTransitionStyle = 2;
    [self presentViewController:present animated:YES completion:^{
        
//        UIModalTransitionStyleCoverVertical = 0,//系统默认的效果, 从上往下
//        UIModalTransitionStyleFlipHorizontal// 左右翻转翻页
//        UIModalTransitionStyleCrossDissolve,//渐变效果
//        UIModalTransitionStylePartialCurl// 翻书效果
        
    }];
}

// 注意：loadView init viewDidLoad 只执行一次
//视图将要出现
- (void)viewWillAppear:(BOOL)animated {
    
}
// 视图已经出现
- (void)viewDidAppear:(BOOL)animated {
}
//视图将要消失
- (void)viewWillDisappear:(BOOL)animated {
    
}
//  视图已经消失
- (void)viewDidDisappear:(BOOL)animated {
    
}
// 懒加载
//- (UIView *)subView {
//    if (_subView == nil) {
//        _subView = [UIView new];
//    }
//    return _subView;
//}

// 接受到内存警告时，执行的方法
- (void)didReceiveMemoryWarning {
//   从父类继承来的方法中有的内存警告的打印
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
//    释放部分内存资源
//    ARC下
//    把未显示在屏幕的资源置空
//    清空内容
}

@end
